export interface WineItem {
  id: string;
  name: string;
  brewery: string;
  price: number;
  secondPrice?: number;
  category?: string;
  description: string;
  image?: string;
  abv?: string;
}

export interface LayoutConfig {
  rows: number;
  cols: number;
  width: number;
  height: number;
  padding: number;
  gap: number;
  aspectRatio: string;
  containerPadding: number;
}

export interface BorderConfig {
  width: number;
  color: string;
  style: string;
}

export interface ImageConfig {
  width: number;
  height: number;
  borderRadius: number|string;
  fit: 'cover' | 'contain' | 'fill';
  position: 'left' | 'right';
  marginBottom: number;
}

export interface ItemConfig {
  backgroundColor: string;
  borderRadius: number;
  padding: number;
  image: ImageConfig;
  hoverEffect: {
    enabled: boolean;
    transform: boolean;
    shadow: boolean;
    scale: number;
  };
}

export interface BaseFontConfig {
  size: number;
  color: string;
  weight: string;
  family: string;
}

export interface BreweryFontConfig extends BaseFontConfig {
  show: boolean;
}

export interface PriceFontConfig extends BaseFontConfig {
  dividerShow: boolean;
  dividerColor: string;
  dividerWidth: number;
  dividerStyle: string;
  secondPriceGap: number;
}

export interface FontsConfig {
  brewery: BreweryFontConfig;
  name: BaseFontConfig;
  price: PriceFontConfig;
  category: BaseFontConfig;
  abv: BaseFontConfig;
}

export interface BackgroundConfig {
  color: string;
  image: string | null;
}

export interface WineMenuConfig {
  layout: LayoutConfig;
  border: BorderConfig;
  item: ItemConfig;
  fonts: FontsConfig;
  background: BackgroundConfig;
} 